<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件的基本使用</title>
    <!-- 引入生产版本的vue.js -->
    <script src="../js/vue.js"></script>
</head>
<body>
    <!-- 
        事件的基本使用：
        1. 使用v-on：xxx 或 @xxx 绑定事件，其中xxx是事件名；
        2.事件的回调需要配置在methods对象中，最终会在vm上；
        3.methods中配置的函数，不要用箭头函数！否则this就不是vm了；
        4.methods中配置的函数，都是被Vue所管理的函数，this的指向是vm 或 组件实例对象
        5.@click="demo" 和 @click="demo($event)"效果一致，但后者可以传参;
     -->
    <div id="app">
        <h2>Hello Things</h2>
        <button v-on:click="dia1"></button>
        <button v-on:click="dia2(99)"></button>
        <!-- v-on:click 简写为@click -->
        <button @click="dia2(66)"></button>
    </div>


    <script>
        new Vue({
            el:"#app",
            data() {
                return {
                    property: 'value',
                };
            },
            methods: {
                //在Vue.js中，当你使用v-on指令来绑定一个事件处理函数时，如果你不明确传递任何参数，
                //Vue.js会自动传递一个事件对象作为默认参数。这个事件对象通常被命名为event，但你可以选择使用任何合法的参数名。
                //事件对象包含有关事件的信息，如事件类型、目标元素等。你可以在事件处理函数中访问这个事件对象，
                //以便在事件处理过程中获取事件相关的信息和操作。
                dia1(event) {
                    console.log("事件类型:"+event.type);
                    console.log("目标元素：" + event.target);
                    alert('Hello dia1')
                },
                dia2(value) {
                    alert(value);
                },
            },
        })
    </script>
</body>
</html>